package com.haiwen.responsee;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 韩要雷
 *
 * getWriter()--获取字符流（只能响应字符）
 * getOutPutStream()--获取字节流（能响应一切数据）
 * 响应的数据被客户端浏览器进行解析
 *
 * 响应乱码：
 * 原因：服务器响应数据时，会通过网络传输，服务器和客户端都有自己的编码格式，这两种编码不一样，就会出现乱码
 * 解决：就是把客户端和服务器的编码格式设置一样
 */
@WebServlet("/response01")
public class Response01 extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //设置服务端的编码格式
        resp.setCharacterEncoding("UTF-8");
       // resp.setHeader("content-type","text/html;charset = UTF-8");
        resp.setContentType("text/html;charset = UTF-8");
        //通过字符输出流
        PrintWriter writer = resp.getWriter();
        writer.write("hello World,你好世界！");
        writer.write("<h2>Hello world</h2>");
        writer.flush();
        writer.close();

        //通过字节输出流
        /*ServletOutputStream outputStream = resp.getOutputStream();
        outputStream.write("hello world,你好世界".getBytes());
        outputStream.write("<h2>Hello world</h2>".getBytes());
        outputStream.flush();
        outputStream.close();*/
    }
}
